package com.wash.shoes.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wash.shoes.domain.dto.RegionTransactionDetailDto;
import com.wash.shoes.domain.dto.ShopStsXcxDto;
import com.wash.shoes.domain.vo.RegionTransactionDetailVo;
import com.wash.shoes.domain.vo.StsOrderVo;
import com.wash.shoes.entity.RegionTransactionDetailPo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author jianguoli
 * @description 针对表【os_region_transaction_detail(收支明细,订单变为完成的时候入账)】的数据库操作Service
 * @createDate 2025-03-11 14:02:41
 */
public interface RegionTransactionDetailService extends IService<RegionTransactionDetailPo> {

    /**
     *
     * @param shopStsXcxDto
     * @return 用户的推广的收益
     */
    List<StsOrderVo> recommendDayIncome(ShopStsXcxDto shopStsXcxDto);

    /**
     *
     * @param shopStsXcxDto
     * @return  统计订单的数据
     */
    StsOrderVo stsOrderInfo(ShopStsXcxDto shopStsXcxDto, Integer status,String type);

    /**
     * 取消优惠
     */
    Integer cancelTransaction(String orderId);

    /**
     * 获取没有处理的订单
     * @return
     */
    List<RegionTransactionDetailPo> getUniFinishDis();

    /**
     *
     * @param shopStsXcxDto
     * @return
     */
    Page<RegionTransactionDetailPo> incomeExpenseList(ShopStsXcxDto shopStsXcxDto);

    /**
     *
     * @param userId
     * @return 获取用户提现中的订单
     */
    RegionTransactionDetailPo getUserOutProcess(String userId);

    /**
     *
     * @param userId
     * @return 通过用户ID与状态查询体现记录
     */
    List<RegionTransactionDetailPo> getUserOutProcessByStatusAndUserId(String userId);

    /**
     *
     * @param regionTransactionDetailDto
     * @return 查询列表
     */
    Page<RegionTransactionDetailVo> pageList(RegionTransactionDetailDto regionTransactionDetailDto);
}
